package com.shujia.opt

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo3coalesce {
  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf()
      .setMaster("local[8]")
      .setAppName("partition")

    val sc = new SparkContext(conf)


    /**
      * 读取数据的时候合并小文件
      *
      */

    val rdd1: RDD[String] = sc.textFile("data/partition")


    println(s"rdd1分区数：${rdd1.getNumPartitions}")

    /**
      * 合并小文件
      *
      */

    val rdd2: RDD[String] = rdd1.coalesce(10)

    println(s"rdd2分区数：${rdd2.getNumPartitions}")

    rdd2.foreach(println)

  }

}
